package day05;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 有下列字符串:
 * 销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice
 * 分析上述字符串然后统计每个职位总共多少人?
 * 使用Map保存统计的结果，其中key:职位,value为该职位人数
 * 然后分别输出各职位的名称(keySet),各职位人数(entrySet)
 * @author Bonnie
 *
 */
public class Test05 {
    public static void main(String[] args) {
        String s="销售:张三;财务:李四;销售:王五;财务:赵六;" +
                "程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice";
        HashMap<String, Integer> map = new HashMap<>();
        String[] split = s.split(":|;");
        for (int i = 0; i < split.length; i+=2) {
            if (!map.containsKey(split[i])){
                map.put(split[i], 1);
            }
            else {
                Integer integer = map.get(split[i]);
                map.put(split[i], ++integer);
            }
        }
        Set<String> set = map.keySet();
        for (String s1:set) {
            System.out.println("职位名称:"+s1);
        }
        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        for (Map.Entry<String, Integer> entry:entrySet) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.print("职位名称:"+key);
            System.out.println("  职位人数:"+value);
        }
    }
}
